package com.designpattern.structure.decorator;


/**
 * @author chengze
 * @date 2022/11/29
 * @desc 装饰器模式有四种类，抽象接口、具体被装饰者(实现抽象接口)、抽象的装饰者、具体的装饰者
 *       此为抽象装饰者
 *       为了不改变具体被装饰者，构造函数加在这里，构造函数让具体装饰者的增强操作可以传递下去
 */
public class Decorator extends BizImpl {

    private BizInterface bizImpl;

    public Decorator(BizInterface bizImpl) {
        this.bizImpl = bizImpl;
    }

    @Override
    public void biz() {
        if (bizImpl != null) {
            bizImpl.biz();
        }
    }
}
